package api

import (
	"github.com/gin-gonic/gin"
	"gvb-server/Request"
	"gvb-server/logic"
	"gvb-server/utils"
)

var MsgLogic = logic.LogicGroup.MsgLogic

// MessageCreat 发送消息
// @Tags 消息管理
// @Summary 发送消息
// @Description 发送消息
// @Param data body Request.MsgCreateRequest true "多参数"
// @Produce application/json
// @Router /api/msg [post]
// @Success 200 {object} utils.Response{}
func (M Msg) MessageCreat(c *gin.Context) {
	var s Request.MsgCreateRequest
	err := c.ShouldBind(&s)

	uRs := MsgLogic.CreateMsg(s)

	if err != nil {
		utils.Fail("", err.Error(), c)
		return
	}

	utils.Success(uRs, "", c)
}

// MyMessage 我的消息列表
// @Tags 消息管理
// @Summary 我的消息列表
// @Description 我的消息列表
// @Produce application/json
// @Router /api/my-msg [get]
// @Success 200 {object} utils.Response{}
func (M Msg) MyMessage(c *gin.Context) {
	var s Request.MsgRequest
	err := c.ShouldBind(&s)

	// jwt 获取当前用户
	//c.Get("uid")
	uRs, err := MsgLogic.GetMsgListByUser(s)

	if err != nil {
		utils.Fail("", err.Error(), c)
		return
	}

	utils.Success(uRs, "", c)
}

// Message 消息列表
// @Tags 消息管理
// @Summary 消息列表
// @Description 消息列表
// @Param data body Request.MsgCreateRequest true "多参数"
// @Produce application/json
// @Router /api/msg [get]
// @Success 200 {object} utils.Response{}
func (M Msg) Message(c *gin.Context) {
	var s Request.MsgRequest
	err := c.ShouldBind(&s)

	uRs, err := MsgLogic.GetMsgList(s)

	if err != nil {
		utils.Fail("", err.Error(), c)
		return
	}

	utils.Success(uRs, "", c)
}
